package main

import "fmt"

// 闭包函数的参数是一个指针
func getFuncWithPointer(base *int) (func(int), func(int)) {
	add := func(num int) {
		*base += num
	}

	minus := func(num int) {
		*base -= num
	}

	return add, minus
}

func main16() {
	base := 10
	fmt.Printf("初始状态下, base的值：%d\n", base)

	add, minus := getFuncWithPointer(&base)

	add(20)
	fmt.Printf("调用加法操作后，base的值%d\n", base)

	minus(10)
	fmt.Printf("调用减法操作后，base的值%d\n", base)
}
